package com.dingyx.ps.model.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @description 发票记录
 * @author zhangyang@zencor.cn
 * @date 2021-03-11
 */
@Data
@ApiModel
public class InvoiceRecordVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty("记录ID")
    private Integer id;

    /**
     * 开票流水号
     */
    @ApiModelProperty("开票流水号")
    private String recordNo;

    /**
     * 发票类型（0:普通发票 1:专用发票）
     */
    @ApiModelProperty("发票类型（0:普通发票 1:专用发票）")
    private Integer invoiceType;

    /**
     * 开票金额
     */
    @ApiModelProperty("开票金额")
    private BigDecimal invoicePrice;

    @ApiModelProperty("开票金额繁体字")
    private BigDecimal invoicePriceStr;
    /**
     * 申请时间
     */
    @ApiModelProperty("申请时间")
    private LocalDateTime applicationDate;

    /**
     * 申请状态（0:申请中 1:开票中 2:已开票）
     */
    @ApiModelProperty("申请状态（0:申请中 1:开票中 2:已开票）")
    private Integer recordStatus;

    /**
     * 企业id
     */
    @ApiModelProperty("企业id")
    private Integer enterpriseId;

    /**
     * 企业名称
     */
    @ApiModelProperty("企业名称")
    private String enterpriseName;

    /**
     * 邮寄地址
     */
    @ApiModelProperty("邮寄地址")
    private String mailAddress;

    @ApiModelProperty("邮寄地址列表")
    private List<EnterpriseMailAddressVO> mailAddressList;

    /**
     * 发票号码
     */
    @ApiModelProperty("发票号码")
    private String invoiceNo;


    /**
     * 纳税人识别号
     */
    @ApiModelProperty("纳税人识别号")
    private String taxpayerNumber;

    /**
     * 企业地址
     */
    @ApiModelProperty("企业地址")
    private String address;

    /**
     * 企业电话
     */
    @ApiModelProperty("企业电话")
    private String mobile;

    /**
     * 企业开户行
     */
    @ApiModelProperty("企业开户行")
    private String openingBank;

    /**
     * 开户行帐号
     */
    @ApiModelProperty("开户行帐号")
    private String bankAccount;

    @ApiModelProperty("开票详情列表")
    private List<InvoiceDetailVO> detailList;

    @ApiModelProperty("关联结算单列表")
    private List<AccountBillMasterVO> billMasterList;

    @ApiModelProperty("发票文件地址")
    private String invoiceUrl;

}

